Non-transitory computer readable storage medium, information processing device and printing method

ABSTRACT

Provided is technology by which an information processing device having an OS standard printing program installed therein causes a printer to perform collate printing without applying a load to the printer. In a case where a print instruction that causes a printer to execute printing of an image is output from an editing application to a general-purpose print program installed in an OS to cause the printer to execute collate printing in a job based on the print instruction an auxiliary program causes a CPU of a PC to acquire print data of one copy rasterized based on the image having the plurality of pages, and to cause the PC to transmit the acquired print data of the one copy to the printer as a transmission destination one copy by one copy over the N copies.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation application of International Application No.PCT/JP2020/025802 filed on Jul. 1, 2020 which claims priority fromJapanese Patent Application No. 2019-179047 filed on Sep. 30, 2019. Theentire contents of the earlier applications are incorporated herein byreference.

TECHNICAL FIELD

A technical field disclosed herein relates to a non-transitory computerreadable storage medium that stores a support program for supportingcontrol on a printer, an information processing device, and a printingmethod.

BACKGROUND

As technology of controlling a printer from an information processingdevice such as a personal computer, for example, known is aconfiguration where a job, in which collate printing of printingsequentially a plurality of copies of a document having a plurality ofpages one copy by one copy is set, is input to a printer by a printerdriver.

In recent years, technology of controlling a printer by a printingprogram standardly installed in an operating system (hereinbelow,referred to as “OS”), without using the above-described printer driver,is put into practical use. In the technology, the OS associates theprinter and the OS standard printing program, and when a printinstruction for the printer is received thereafter, printing by the OSstandard printing program can be performed without using the printerdriver.

However, when performing printing by an OS standard general-purposeprint program, setting items that can be selected when selectingprinting parameters are general items registered in the OS standardprinting program. For this reason, the collate printing may not besupported, which causes user's inconvenience. Also, although the collateprinting can be performed in processing on the printer-side, a load isapplied to the printer, such as an increase in memory capacity that ismounted to the printer.

SUMMARY

The present specification discloses technology by which an informationprocessing device having an OS standard printing program installedtherein causes a printer to perform collate printing without applying aload to the printer.

Disclosed here is a non-transitory computer readable medium that storesa support program executable by a computer included in an informationprocessing device, the support program being corresponding to a printerconnected to the information processing device, in a case where a printinstruction that is output from an application program installed in theinformation processing device and that causes the printer to executeprinting of an image is sent to a general-purpose print programinstalled in advance in an operating system of the informationprocessing device to cause the printer to execute collate printing in ajob based on the print instruction, the collate printing beingprocessing of sequentially printing N copies one copy by one copy,printing of the one copy being printing of the image having a pluralityof pages that is a range of a print target, N being a natural number of2 or greater, the support program causing the computer to execute: firstacquisition processing of acquiring print data of the one copyrasterized based on the image having the plurality of pages; and firstoutput processing of outputting the print data of the one copy acquiredin the first acquisition processing one copy by one copy over the Ncopies such that the print data is transmitted from the informationprocessing device to the printer as a transmission destination.

In the case where the print instruction is output from the applicationprogram to the general-purpose print program to cause the printer toexecute the collate printing in the job based on the print instruction,the support program disclosed herein causes the information processingdevice to acquire the print data of one copy rasterized based on theimage having the plurality of pages and to transmit the print data tothe printer one copy by one copy over the N copies. Thereby, even thoughthe general-purpose print program does not support the collate printing,it is possible to cause the printer to execute the collate printing.

An information processing device in which the program is installed and acontrol method for implementing the functions of the program are alsonovel and useful.

According to the technology disclosed herein, it is possible toimplement the technology by which the information processing devicehaving the OS standard printing program installed therein causes theprinter to execute the collate printing without applying a load to theprinter.

BRIEF DESCRIPTION OF DRAWINGS

Aspects of the disclosure are illustrated by way of example and not bylimitation in the accompanying figures in which like referencecharacters indicate similar elements.

FIG. 1 is a block diagram depicting an electrical configuration of a PC.

FIG. 2 is a sequence diagram for illustrating an example of a sequenceof operations of a first aspect.

FIG. 3 is a sequence diagram for illustrating an example of the sequenceof operations of the first aspect.

FIG. 4 is a sequence diagram for illustrating an example of a sequenceof operations of a second aspect.

FIG. 5 is a sequence diagram for illustrating an example of a sequenceof operations of a third aspect.

FIG. 6 is a sequence diagram for illustrating an example of a sequenceof operations when performing uncollate printing.

DETAILED DESCRIPTION

Hereinbelow, a personal computer (hereinbelow, referred to as “PC”) thatuses a program of a first aspect will be described in detail withreference to the accompanying drawings. The present aspect is todisclose an embodiment in which a program, which is executed in the PCconnected to a printer having a printing function, is implemented.

As shown in FIG. 1, a PC 1 of the present aspect includes a controller10, a user interface (hereinbelow referred to as “UI”) 20, and acommunication interface (hereinbelow referred to as “communication IF”)30. The UI 20 and the communication IF 30 are electrically connected tothe controller 10. The PC 1 is an example of the information processingdevice. The printer 2 is an apparatus having a printing function, and isconnected to the PC 1 via local communication or network communication.

The UI 20 includes hardware for performing a variety of displays andreceiving a user's instruction input. The UI 20 may be a touch panelhaving both a display function and an input receiving function or may bea combination of a display having a display function and a keyboard, amouse and the like each having an input receiving function.

The communication IF 30 includes hardware for performing communicationwith an external device such as the printer 2 and hardware for accessingthe Internet. The communication IF 30 may also include a plurality ofinterfaces having different communication methods. The communicationmethods include network communication and USB communication, forexample. Also, wired communication and wireless communication arepossible.

The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is anexample of the computer. The memory 12 includes a ROM, a RAM, and anon-volatile memory, and stores programs such as diverse applicationprograms (hereinbelow, referred to as “application”), a variety of data,and the like. The CPU 11 is configured to execute a variety ofprocessing, in accordance with a program read out from the memory 12 andbased on a user's instruction. Note that, the controller 10 in FIG. 1 isa collective term for hardware and software that are used for control ofthe PC 1, and does not necessarily represent single hardware that isactually provided in the PC 1.

An example of the memory 12 may also be a computer-readable storagemedium. The computer-readable storage medium is a non-transitory medium.The non-transitory medium includes a recording medium such as a CD-ROMand a DVD-ROM, in addition to the above examples. Also, thenon-transitory medium is a tangible medium. Note that, electric signalsfor conveying a program that is downloaded from a server on the Internetare a computer-readable signal medium that is a type of thecomputer-readable medium but are not included in the computer-readablenon-transitory storage medium.

As shown in FIG. 1, an OS 21 including a general-purpose print program41, an auxiliary program 42, and an editing application 43 are stored inthe memory 12, for example. The auxiliary program 42 is an example ofthe support program. The editing application 43 is an example of theapplication program. The OS 21 is, for example, Microsoft Windows(registered trademark), Mac OS (registered trademark), or Linux(registered trademark). Note that a variety of data includinginformation of the connected printer 2, and a variety of programs suchas a browser are stored in the memory 12 in addition to the shown ones.

The general-purpose print program 41 is an OS standard program forcausing a variety of printers such as the printer 2 to execute printingin response to an instruction from the PC 1. The general-purpose printprogram 41 of the present aspect is a program including a function ofgenerating print data, which is used for printing by a correspondingprinter, based on image data of a print target.

The general-purpose print program 41 is configured to support a functionthat can be commonly used by a plurality of models of printers providedby vendors of diverse printers. The general-purpose print program 41supports not all functions that the diverse printers inherently have,and a function that is supported by the general-purpose print program 41is limited to a general-purpose function.

The auxiliary program 42 is a program or a program group configured toexecute processing based on an instruction from the OS 21 in associationwith processing of the general-purpose print program 41, and is anapplication configured to support control of target hardware. Theauxiliary program 42 of the present aspect is corresponding to a modelof the printer 2 connected to the PC 1, and is activated from thegeneral-purpose print program 41 when an instruction to cause theprinter 2 to execute printing by using the general-purpose print program41 is received, for example. The auxiliary program 42 is referred to asa hardware support application (abbreviated as HSA), for example.

The auxiliary program 42 is configured to receive a plurality of kindsof commands from the general-purpose print program 41 and to execute avariety of processing based on the received commands The auxiliaryprogram 42 can execute different processing, according to contents ofexecution commands from the general-purpose print program 41. Note that,the auxiliary program 42 may also be a combination of a plurality ofprograms each of which is configured to receive an execution command, orone program capable of executing different processing, according tocommands.

Note that, the auxiliary program may also be a program that is preparedfor each type of printers by the vendors of the printers. For example,an auxiliary program for an inkjet printer and an auxiliary program fora laser printer are prepared. The vendor of the printer registers theauxiliary program in a platform that is provided by a vendor of the OS21, according to a procedure designated by the vendor of the OS 21. Whena new printer is connected to the PC 1 and an auxiliary programcorresponding to the printer has been registered, the OS 21 downloadsthe auxiliary program from a server in which the auxiliary program isstored and installs the auxiliary program into the PC 1. Then, the OS 21stores identification information of the installed auxiliary program inthe memory 12, in association with printer information of the newlyconnected printer. The auxiliary program is not limited to each type ofprinters, and may also be prepared for each model of printers or eachseries of printers.

The editing application 43 is, for example, an application for preparingand editing image data and document data, for example. The editingapplication 43 is, for example, Microsoft Word and PowerPoint. Theediting application 43 may also be an application that is provided bythe vendor of the printer 2, and the like. The editing application 43 isconfigured to receive a user operation including an instruction to causethe printer 2 to perform a predetermined operation. Specifically, theediting application 43 is configured to receive a print instruction tocause the printer 2 to execute printing via the UI 20, for example.

Note that, each processing and step of the flowcharts of the embodimentsbasically indicate processing of the CPU 11 according to commandsdescribed in the program such as the auxiliary program 42. That is, indescriptions below, the processing “determination”, “extraction”,“selection”, “calculation”, “decision”, “specifying”, “acquisition”,“reception”, “control” and the like indicates the processing of the CPU11. The processing that is executed by the CPU 11 includes hardwarecontrol using an API of the OS 21. In the present specification,operations of each program are describe while omitting the detaileddescriptions of the OS 21. That is, in descriptions below, thedescription “a program B controls a hardware C” may indicate that“program B controls the hardware C by using an API of the OS 21”. Also,the processing of the CPU 11 according to commands described in theprogram may be described in omitted wording. For example, a descriptionmay be made with omitting a program, such as “CPU 11 performs”. Also,the processing of the CPU 11 according to commands described in theprogram may be described in CPU-omitted wording, such as “program Aperforms”.

Note that, “acquisition” is used as a concept that a request is notessential. That is, the processing of receiving data without a requestof the CPU 11 is also included in a concept “CPU 11 acquires data”.Also, “data” in the present specification is indicated by acomputer-readable bit string. Data that have substantially the samemeaning or contents but have different formats are treated as the samedata. The same applies to “information” in the present specification.Also, “request” and “instruct” are concepts indicating that informationindicative of a request and information indicative of an instruction areoutput to the other party. Also, the information indicative of a requestand the information indicative of an instruction are simply referred toas “request” and “instruction”.

Also, the processing of the CPU 11 of determining whether information Aindicates a matter B may be conceptually described such as “it isdetermined from the information A whether it is the matter B”. Theprocessing of the CPU 11 of determining whether the information Aindicates the matter B or a matter C may be conceptually described suchas “it is determined from the information A whether it is the matter Bor the matter C”.

Subsequently, a printing procedure including operations of the auxiliaryprogram 42 of the present aspect is described with reference to asequence diagram of FIG. 2. When printing a plurality of copies ofimages of a print target having a plurality of pages, the printingprocedure includes collate printing and uncollate printing. The collateprinting is a printing method in which a designated number of copies aresequentially printed one copy by one copy, and one printed materialincluding pages from a head page to a last page one page by one page isregarded as one copy. The uncollate printing is a printing method inwhich each page from a head page to a last page is continuously printedby a designated number of copies. For example, when printing images ofthree pages by three copies, a print order is “123123123” in the collateprinting, and “111222333” in the uncollate printing. The PC 1 of thepresent aspect can cause the printer 2 to implement the collate printingby using the auxiliary program 42.

The general-purpose print program 41 of the present aspect may notsupport a print setting for multiple-copy printing, and may support onlythe uncollate printing in the print setting for multiple-copy printing.Also, the printer 2 of the present aspect may not have a function ofperforming processing of printing multiple copies in the printer, andmay support only the uncollate printing in the print setting formultiple-copy printing.

First, the editing application 43 receives an instruction input ofdesignation on an image of a print target and print execution via the UI20 (arrow A). The editing application 43 receives, for example, aninstruction to designate, as an image of a print target, a documentedited by the editing application 43, a photograph read by the editingapplication 43, and the like. The editing application 43 that receivesthe print instruction transfers a print execution notificationindicative of a content of the received print instruction to the OS 21.Note that, in FIG. 2, operations of the OS 21 are omitted.

When the OS 21 receives the print execution notification using thegeneral-purpose print program 41, the OS 21 executes the general-purposeprint program 41 and transfers the print execution notification to thegeneral-purpose print program 41 (arrow B). The general-purpose printprogram 41 can acquire a variety of information included in the printinstruction, for example, information indicative of a printer to performprinting, information indicative of the print setting set by the editingapplication 43, and information indicative of image data of a printtarget by the print execution notification.

The general-purpose print program 41 specifies a printer designated asan apparatus caused to perform printing based on the informationincluded in the print execution notification. When the designatedprinter is the printer 2, since the auxiliary program 42 that iscorresponding to the printer 2 is stored in the memory 12, thegeneral-purpose print program 41 outputs an execution command forprocessing of the auxiliary program 42, and causes the auxiliary program42 to operate (arrow C). That is, when the general-purpose print program41 detects the print execution notification, the execution command isoutput from the general-purpose print program 41 to the auxiliaryprogram 42.

The auxiliary program 42 executes a variety of processing based on thecontent of the execution command output from the general-purpose printprogram 41. In the execution command in the processing of the arrow C,the general-purpose print program 41 transfers the print settingreceived by the editing application 43 to the auxiliary program 42, andrequests verification of the print setting.

The auxiliary program 42 verifies the print setting based on theexecution command in the processing of the arrow C (arrow D). Theauxiliary program 42 determines whether the received print setting issuitable for a function of the printer 2. For example, when the printsetting includes an unsuitable option, such as a sheet size that is notset for the printer 2, the auxiliary program 42 invalidates the printsetting.

The auxiliary program 42 of the present aspect can receive settings ofchanging and adding a print setting during the processing of the arrowD. In the present aspect, described is a case where an image designatedas a range of the print target is an image having a plurality of pagesand the auxiliary program 42 receives a designation of printing of Ncopies by the collate printing in the processing of the arrow D, where Nis a natural number of 2 or greater. That is, the print setting that istransferred in the processing of the arrow C does not include a settingfor multiple-copy printing by the collate printing, and the printsetting upon completion of the processing of the arrow D includes asetting for multiple-copy printing by the collate printing.

Note that, in a case where a setting for multiple-copy printing and adesignation of collate printing can be received by the editingapplication 43, a setting for multiple-copy printing and a designationof collate printing may be included in the print setting that istransferred to the auxiliary program 42 in the processing of the arrowC. For example, in a case where the general-purpose print program 41supports the collate printing, the print setting including a setting formultiple-copy printing and a designation of collate printing may betransferred in the processing of the arrow C. Alternatively, even in acase where the general-purpose print program 41 does not support thecollate printing, a setting for multiple-copy printing and a designationof collate printing may be transferred from the editing application 43to the auxiliary program 42 via a storage area that can be commonly usedbetween the editing application 43 and the auxiliary program 42, forexample.

When the auxiliary program 42 completes the verification of the printsetting, the auxiliary program 42 transfers an end notification to thegeneral-purpose print program 41 (arrow E). Note that, the auxiliaryprogram 42 deletes the setting for multiple-copy printing and thedesignation of collate printing from the print setting, and transfersthe same to the general-purpose print program 41 together with the endnotification in the processing of the arrow E.

When the general-purpose print program 41 receives the end notification,which indicates that the verification of the print setting is over, fromthe auxiliary program 42, the general-purpose print program 41 convertsa format of the image data included in the print execution notificationin the processing of the arrow B into a format of intermediate data forprinting to prepare intermediate data, and generates a print jobincluding the intermediate data (arrow F). The image data designated bythe editing application 43 has various formats, and the general-purposeprint program 41 converts the received image data into intermediate datasuitable for generation of print data. Note that, when the image dataincluded in the print execution notification is data suitable forgeneration of print data, the generation of the intermediate data may beomitted and the image data may be used as the intermediate data, as itis. The intermediate data is XPS data, for example.

After generating the intermediate data, the general-purpose printprogram 41 transfers the generated intermediate data and the printsetting to the auxiliary program 42, outputs an execution command forprocessing of the auxiliary program 42, and operates the auxiliaryprogram 42 (arrow G).

The auxiliary program 42 generates print data of one page from the headpage of the intermediate data based on the received intermediate data(arrow H). The processing of the arrow H is an example of the firstacquisition processing. In the processing of the arrow H, the auxiliaryprogram 42 rasterizes the intermediate data to generate the print data.The print data generated in the processing of the arrow H is data havinga format that can be used for printing in the printer 2, and is, forexample, PDL data dedicated to the model of the printer 2. Therasterization in the auxiliary program 42 increases a possibility thatprint data having a higher degree of freedom and more suitable forprinting in the printer 2 will be generated, as compared torasterization in the general-purpose print program 41. Note that, theprint data generated in the processing of the arrow H may also be datahaving a format that can be used for printing in a printer, in additionto the model of the printer 2.

Also, the auxiliary program 42 temporarily stores the generated printdata in the memory 12 (arrow I). The auxiliary program 42 transfers thegenerated print data of one page and a transmission request for theprint data in which the printer 2 is set as a transmission destinationto the general-purpose print program 41 (arrow J). The general-purposeprint program 41 transmits the received print data and a print commandto the printer 2 based on the request in the processing of the arrow J(arrow K). Since the print data is transmitted to the printer 2 by therequest in the processing of the arrow J, the processing of the arrow Jis an example of the first output processing.

In the printer 2 that receives the print command, printing of an imageof one page of a first one copy is performed according to the receivedprint data of one page. The print data of one page is transmitted theprinter 2 whenever the print data of one page is generated, so that astandby time until a first page is printed is shortened, as compared toa case where print data of all pages are generated and then transmitted.

Note that, since a setting for multiple-copy printing is not included inthe print setting received in the processing of the arrow E, thegeneral-purpose print program 41 transmits the print data in theprocessing of the arrow K with a print setting that does not include thesetting for multiple-copy printing added. Thereby, even though theprinter 2 itself can perform the processing of printing multiple copies,there is no possibility that printing of multiple copies will beperformed in the printer 2.

The auxiliary program 42 transfers the transmission request in theprocessing of the arrow J to the general-purpose print program 41 attransmission timing of the print data to the printer 2, and thenperiodically transmits a signal for inquiring a situation to the printer2, for example. The printer 2 replies a situation, in response to theinquiry, and when the reception of the print data is completed, theprinter 2 transmits a reception completion notification, which indicatesthat the reception of the print data is completed, to the auxiliaryprogram 42 (arrow L). The reception completion notification is anotification indicating that the reception is completed, and theprinting may not be completed. Note that, the reception completionnotification may also be transmitted to the general-purpose printprogram 41.

When the auxiliary program 42 receives the reception completionnotification transmitted from the printer 2, the auxiliary program 42requests the general-purpose print program 41 to transmit an executioncommand of the auxiliary program 42 (arrow M). Thereby, thegeneral-purpose print program 41 transfers an execution command to theauxiliary program 42 (arrow N). The auxiliary program 42 receives theexecution command from the general-purpose print program 41, andgenerates print data of next one page in the processing of the arrow H.Note that, in a case where the reception completion notification in theprocessing of the arrow L is transmitted to the general-purpose printprogram 41, the processing of requesting the execution command (arrow M)may be omitted, and the general-purpose print program 41 may transferthe execution command (arrow N) to the auxiliary program 42, accordingto the reception completion notification.

The general-purpose print program 41 and the auxiliary program 42 repeatthe processing of the arrow H to the arrow N for all pages that are therange of the print target. For example, the auxiliary program 42 alsoreceives information indicative of the number of pages of images of theprint target in the processing of the arrow G, and repeats thegeneration and storing of print data until the number of processingtimes of the arrow H reaches the number of pages. In the processing ofthe arrow I, print data of next page is stored following the storedprint data of a previous page. Thereby, the print data of first one copyis transmitted to the printer 2 each time each page is acquired, and theprint data of all pages is stored in the memory 12.

Note that, if the auxiliary program 42 can start the generation of theprint data when the notification of the arrow L is received even thoughthe execution command is not received, the transfer in the processing ofthe arrow M and the arrow N is unnecessary. Also, if the general-purposeprint program 41 has a configuration of transferring the intermediatedata one page by one page, the auxiliary program 42 may requestintermediate data of next one page in the processing of the arrow M, andreceive the intermediate data of one page in the processing of the arrowN. In this case, when transferring intermediate data of a final page ofthe range of the print target, the general-purpose print program 41 maytransfer information indicative of the final page to the auxiliaryprogram 42.

When the auxiliary program 42 receives the execution command in theprocessing of the arrow N after the generation and transmission of theprint data of all pages are over, the auxiliary program 42 acquires thestored print data of all pages, i.e., the print data of first copy fromthe memory 12, and transfers the same to the general-purpose printprogram 41 together with a transmission request (arrow O). Thegeneral-purpose print program 41 transmits the received print data andthe print command to the printer 2 based on the request in theprocessing of the arrow O (arrow P). Since the print data is transmittedto the printer 2 according to the request in the processing of the arrowO, the processing of the arrow O is an example of the first outputprocessing. Thereby, the printer 2 that receives the print commandexecutes printing of a second copy of all pages based on the print dataof all pages attached to the print command.

The auxiliary program 42 receives the reception completion notificationfrom the printer 2 (arrow Q), similar to the processing of the arrow L,and transfers a transmission request for next one copy to thegeneral-purpose print program 41 (arrow O). Note that, if the auxiliaryprogram 42 is configured to request and receive the execution command,similar to the processing of first copy, so as to execute a next step,the transfer similar to the processing of the arrow M and the arrow Nmay be performed even after the processing of the arrow Q. The auxiliaryprogram 42 repeats the transmission request in the processing of thearrow O by a number of times smaller than the designated copies by one.Thereby, the printing of the designated N copies is performed togetherwith the printing of first copy by the transmission request in theprocessing of the arrow J.

When the auxiliary program 42 receives the reception completionnotification in the processing of the arrow Q after executing thetransmission request in the processing of the arrow O (N−1) times, theauxiliary program 42 transfers the end notification to thegeneral-purpose print program 41 (arrow R), and ends the processing ofthe job. Thereby, the general-purpose print program 41 ends theprocessing of the print execution notification received from the editingapplication 43 in the processing of the arrow B.

Note that, the reception completion notification in the processing ofthe arrow Q may also be transmitted from the printer 2 to thegeneral-purpose print program 41. In this case, the general-purposeprint program 41 may request the print data from the auxiliary program42 in response to the reception completion notification. Also, whentransmitting the print data in the processing of the arrow O, theauxiliary program 42 may include information indicative of presence orabsence of subsequent print data in the print data. Alternatively, theauxiliary program 42 may copy the print data to generate print data of(N−1) copies, and integrate and transmit the print data of (N−1) copiesto the general-purpose print program 41 by the transmission request inthe processing of the arrow O one time.

As described in detail above, according to the auxiliary program 42 ofthe present aspect, in a case where a print instruction to thegeneral-purpose print program 41 to cause the printer 2 to execute themultiple-copy printing by the collate printing based on the printinstruction, the PC 1 acquires the print data of one copy based on theimage having the plurality of pages, which is the range of the printtarget, by the auxiliary program 42, and outputs the print data suchthat the print data is transmitted to the printer 2 one copy by one copyover N copies. Thereby, even though the general-purpose print program 41does not support the collate printing, it is possible to cause theprinter 2 to execute the collate printing.

Note that, in the first aspect, in the processing of the arrow J and thearrow O, the auxiliary program 42 transfers the print data and thetransmission request to the general-purpose print program 41, and thegeneral-purpose print program 41 transmits the print data to the printer2. However, for example, as shown in FIG. 3, the auxiliary program 42may transmit the print data to the printer 2. That is, instead of theprocessing of the arrow J and the arrow K shown in FIG. 2, when thegeneration and storing of the print data are over, the auxiliary program42 may transmit the generated print data of one page to the printer 2(arrow Ka). Also, instead of the processing of the arrow O and the arrowP shown in FIG. 2, the auxiliary program 42 may transmit the print dataof all pages to the printer 2 (arrow Pa). In this case, the processingof the arrow Ka and the arrow Pa is an example of the first outputprocessing.

Note that, also in this case, the reception completion notification inthe processing of the arrow L or the arrow Q may be transmitted from theprinter 2 to the general-purpose print program 41. The general-purposeprint program 41 may transfer a transmission command to the auxiliaryprogram 42 in response to the reception completion notification, and theauxiliary program 42 may transmit next print data.

Even in this way, the print data of the first copy is transmitted to theprinter 2 each time print data of one page is generated, and an elapsedtime until the printing of a first page is short. Note that, in a casewhere the auxiliary program 42 transmits the print data to the printer2, the auxiliary program 42 may receive and transfer informationindicating whether the transmission of the print data is successful anda response (a normal end signal or an error signal) from the printer tothe OS 21, for example, after transmitting the print data to the printer2.

Subsequently, a printing procedure including operations of the auxiliaryprogram 42 of a second aspect is described with reference to a sequencediagram of FIG. 4. The second aspect is different from the first aspect,with respect to the procedure of the generation and transmission of theprint data. In descriptions below and FIG. 4, the same processing as thefirst aspect is denoted with the same reference signs, and thedescriptions thereof are omitted. Also, the processing that is similarto but is different from the processing of the first aspect is denotedwith reference signs having lower-case letters and is described withrespect to differences from the first aspect.

In the second aspect, similar to the first aspect, the processing of thearrow A to the arrow G is first executed. In the second aspect, theauxiliary program 42 receives the intermediate data of all pages that isthe print range and generates the print data of all pages by theexecution command in the processing of the arrow G (arrow Ha). Theprocessing of the arrow Ha is an example of the first acquisitionprocessing. Also, the auxiliary program 42 temporarily stores thegenerated print data of all pages in the memory 12 (arrow Ia).

When the generation and storing of the print data of all pages are over,the auxiliary program 42 transfers the end notification to thegeneral-purpose print program 41 (arrow S). The general-purpose printprogram 41 receives the end notification, and transfers the executioncommand to the auxiliary program 42 (arrow N).

In the second aspect, the processing of transmitting the generated printdata of all pages to the printer 2 repeatedly N times, which is thedesignated number of copies, is executed. That is, the auxiliary program42 transfers the print data of all pages and the transmission request tothe general-purpose print program 41 (arrow O), and the general-purposeprint program 41 integrates and transmits the print data of all pages tothe printer 2 (arrow P). The processing of the arrow O is an example ofthe first output processing. When the auxiliary program 42 receives thereception completion notification from the printer 2 (arrow Q), theauxiliary program 42 transfers the print data of all pages of next copyand the transmission request to the general-purpose print program 41.

The processing from the arrow O to the arrow Q is repeated N times, sothat the printing of N copies is performed in the printer 2. Afterreceiving the N^(th) reception completion notification, the auxiliaryprogram 42 transfers the end notification to the general-purpose printprogram 41 (arrow R), and ends the processing of the job. Note that,also in the second aspect, instead of the processing of the arrow O andthe arrow P, the auxiliary program 42 may transmit the print data to theprinter 2, like the processing of the arrow Pa shown in FIG. 3.

Note that, also in the second aspect, the reception completionnotification in the processing of the arrow Q may be transmitted fromthe printer 2 to the general-purpose print program 41. In this case, thegeneral-purpose print program 41 may request subsequent print data fromthe auxiliary program 42 in response to the reception completionnotification. Also, when transmitting the print data in the processingof the arrow O, the auxiliary program 42 may include informationindicative of presence or absence of subsequent print data in the printdata. Alternatively, the auxiliary program 42 may copy the print data togenerate print data of N copies, and integrate and transfer the printdata of N copies to the general-purpose print program 41 by the firsttransmission request in the processing of the arrow O.

As described in detail above, the auxiliary program 42 of the secondaspect also implements the multiple-copy printing by the collateprinting. In the second aspect, after generating the print data of allpages, the print data of all pages is integrated and transmitted to theprinter 2. Therefore, the number of transfers between the auxiliaryprogram 42 and the general-purpose print program 41 is reduced and theprocessing of the auxiliary program 42 is simplified, so that it ispossible to reduce the design process. Also, the number ofcommunications between the PC 1 and the printer 2 is reduced.

Subsequently, a printing procedure including operations of the auxiliaryprogram 42 of a third aspect is described with reference to a sequencediagram of FIG. 5. The third aspect is different from the first aspect,with respect to the procedure of the generation and transmission of theprint data. In descriptions below and FIG. 5, the same processing as thefirst aspect is denoted with the same reference signs, and thedescriptions thereof are omitted. Also, the processing that is similarto but is different from the processing of the first aspect is denotedwith reference signs having lower-case letters and is described withrespect to differences from the first aspect.

In the third aspect, similar to the first aspect, the processing of thearrow A to the arrow G is first executed. In the third aspect, theauxiliary program 42 receives the intermediate data of all pages that isthe range of the print target and stores the received intermediate datain the memory 12 by the execution command in the processing of the arrowG (arrow T). Also, the auxiliary program 42 of the third aspect acquiresthe intermediate data of all pages stored in the memory 12 (arrow U),and transfers the acquired intermediate data of all pages and the endnotification to the general-purpose print program 41 (arrow V).

The general-purpose print program 41 rasterizes the receivedintermediate data of all pages to generate the print data of all pages(arrow W). Note that, the print data generation processing by thegeneral-purpose print program 41 is different from the print datageneration processing by the auxiliary program 42 of the first aspectand the second aspect. The print data generated by the general-purposeprint program 41 is data having a format that can be used for printingin diverse printers including the printer 2, and is, for example, PWGRaster data and PDF data. The rasterization by the general-purpose printprogram 41 can reduce the processing of the auxiliary program 42 andsuppress the design process of the auxiliary program 42.

Also, the general-purpose print program 41 transfers the executioncommand to the auxiliary program 42 (arrow N). The auxiliary program 42transfers the transmission request to the general-purpose print program41 in response to the execution command (arrow Oa). Since thegeneral-purpose print program 41 generates the print data, it is notnecessary to transfer the print data in the processing of the arrow Oa.The general-purpose print program 41 transmits the print data of allpages generated in the processing of the arrow W to the printer 2 (arrowP). Thereby, the printing is executed in the printer 2, so that aprinted material of one copy can be prepared.

In the third aspect, since the print data is generated and transmittedto the printer 2 based on the processing of the arrow V, the processingof the arrow V is an example of the second output processing. Note that,in a case where the print data is generated and transmitted by the endnotification in the processing of the arrow V, the execution command inthe processing of the arrow N and the transmission request in theprocessing of the arrow Oa are unnecessary.

When the auxiliary program 42 receives the reception completionnotification from the printer 2 (arrow Q), the auxiliary program 42transfers a request for execution command to the general-purpose printprogram 41 (arrow X). The general-purpose print program 41 transfers anexecution command to the auxiliary program 42 in response to the requestin the processing of the arrow X (arrow Y). The auxiliary program 42receives the execution command, returns to the processing of the arrowU, acquires the intermediate data for printing of a second copy from thememory 12, and transfers the same to the general-purpose print program41. In the third aspect, the processing from the arrow U to the arrow Yis repeated N times, which is the designated number of copies, so thatprinted materials of N copies are prepared. Note that, instead ofrepeating the processing of transferring the intermediate data N times,the auxiliary program 42 may generate a copy of the intermediate data,integrate the intermediate data of all pages of N copies in the firstprocessing of the arrow V and transfer the same to the general-purposeprint program 41.

When the auxiliary program 42 further receives the execution commandfrom the general-purpose print program 41 after transferring the N^(th)intermediate data to the general-purpose print program 41 (arrow Y), theauxiliary program 42 transfers the end notification to thegeneral-purpose print program 41 (arrow R), and ends the processing ofthe job.

As described in detail above, the auxiliary program 42 of the thirdaspect also implements the multiple-copy printing by the collateprinting. In the third aspect, the general-purpose print program 41generates and transmits the print data, so that the processing of theauxiliary program 42 is simple and the design process is reduced.

Note that, in the above embodiments, the collate printing has beendescribed. However, the auxiliary program 42 of each aspect alsoreceives a designation of multiple-copy printing by uncollate printing.For example, in a case where the print setting received in theprocessing of the arrow D shown in FIG. 2 is a setting for printing of Mcopies by the uncollate printing, where M is a natural number of 2 orgreater, an operation procedure of the auxiliary program 42 is as shownin FIG. 6, for example.

The auxiliary program 42 receives the intermediate data from thegeneral-purpose print program 41 (arrow G), and generates the print dataof one page (arrow H). Then, the auxiliary program 42 transfers thegenerated print data of one page and the transmission request to thegeneral-purpose print program 41 (arrow J), and the general-purposeprint program 41 transmits the print data of one page to the printer 2(arrow K). Similar to the collate printing, the auxiliary program 42receives the reception completion notification from the printer 2 (arrowL), and transfers the request for execution command to thegeneral-purpose print program 41 (arrow M), so that the auxiliaryprogram 42 receives the execution command from the general-purpose printprogram 41 (arrow N). The processing from the arrow J to the arrow N isrepeated M times, which is the designated number of copies, so that theprint data of first page is continuously transmitted M times to theprinter 2.

The auxiliary program 42 returns to the processing of the arrow H andgenerates print data of a next page, in response to the executioncommand in the processing of the arrow N after the print data istransmitted multiple times corresponding to the number of copies. Then,the auxiliary program 42 causes the general-purpose print program 41 totransmit the generated next page repeatedly multiple times correspondingto the number of copies. The processing of repeating the processing fromthe arrow H to the arrow N is an example of the uncollate transmissionprocessing.

Note that, also in the uncollate printing, there is a plurality ofvariations. For example, the print data may be generated by thegeneral-purpose print program 41. Also, the auxiliary program 42 maytransmit the print data to the printer 2.

In a case where the auxiliary program 42 of the present aspect receivesa print instruction of multiple-copy printing of images whose range ofthe print target is multiple pages, the auxiliary program 42 receivesany one of the designation of the collate printing and the designationof the uncollate printing. Then, the auxiliary program 42 executes theprocessing of any one of FIGS. 2 to 5 or the processing of FIG. 6, inresponse to the received designation. By supporting the uncollateprinting, the degree of freedom of the print setting is increased.

Note that, the embodiments disclosed herein are just exemplary and arenot intended to limit the present invention. Therefore, the technologydisclosed herein can be diversely improved and modified withoutdeparting from the spirit thereof. For example, the apparatus that isconnected to the PC 1 is not limited to the printer, and any apparatushaving a printing function such as a complex machine, a copier and a FAXapparatus is also possible. Also, two or more printers may be connectedto the PC 1.

Also, regarding a print setting for printing other than themultiple-copy printing, a print setting that can be processed by thegeneral-purpose print program 41 may be processed by the general-purposeprint program 41, and a print setting that cannot be processed by thegeneral-purpose print program 41 may be processed by the auxiliaryprogram 42. In the above embodiments, as the operation of the auxiliaryprogram 42, only the processing relating to the multiple-copy printinghas been described. However, the auxiliary program 42 may also haveother functions.

Also, in the first or second aspect, the auxiliary program 42 generatesthe print data. However, the print data may also be generated by thegeneral-purpose print program 41. For example, the auxiliary program 42may receive the print data of all pages generated by the general-purposeprint program 41 and store the same in the memory 12, and may transmitthe print data to the printer 2 one copy by one copy.

Also, in the present aspect, the designation of the uncollate printingis also received but may not be received. For example, when a printinstruction for printing the images of the plurality of pages bymultiple copies is received, the collate printing may be executed.

Also, when performing printing by using the general-purpose printprogram 41, the auxiliary program 42 may be any program that receives aninstruction from the OS 21 or the general-purpose print program 41. Forexample, a print workflow application (Print workflow) released byMicrosoft may be possible.

Also, in the above embodiments, the execution command of the auxiliaryprogram 42 is output from the general-purpose print program 41, so thatthe auxiliary program 42 is executed. However, the execution timing ofthe auxiliary program 42 is not limited thereto. For example, theauxiliary program 42 may be directly executed by an instruction from theOS 21 or the resident auxiliary program 42 is also possible. Theresident auxiliary program 42 may perform the above operations byreceiving the execution command.

Note that, the plurality of processing in the plurality of steps in theflowcharts described in the embodiments can be executed by changing theexecution order arbitrarily or can be executed in parallel within ascope that does not cause any contradiction in the processing content.

Note that, the processing described in the embodiments can be executedby hardware such as a single CPU, a plurality of CPUs, an ASIC and thelike or a combination thereof. Also, the processing described in theembodiments can be implemented in diverse aspects such as a recordingmedium on which a program for executing the processing is recorded, amethod and the like.

What is claimed is:
 1. A non-transitory computer readable medium thatstores a support program executable by a computer included in aninformation processing device, the support program being correspondingto a printer connected to the information processing device, in a casewhere a print instruction that is output from an application programinstalled in the information processing device and that causes theprinter to execute printing of an image is sent to a general-purposeprint program installed in advance in an operating system of theinformation processing device to cause the printer to execute collateprinting in a job based on the print instruction, the collate printingbeing processing of sequentially printing N copies one copy by one copy,printing of the one copy being printing of the image having a pluralityof pages that is a range of a print target, N being a natural number of2 or greater, the support program causing the computer to execute: firstacquisition processing of acquiring print data of the one copyrasterized based on the image having the plurality of pages; and firstoutput processing of outputting the print data of the one copy acquiredin the first acquisition processing one copy by one copy over the Ncopies such that the print data is transmitted from the informationprocessing device to the printer as a transmission destination.
 2. Thenon-transitory computer readable medium according to claim 1, wherein,in the first output processing, the support program causes the computerto transfer the print data of the one copy acquired in the firstacquisition processing to the general-purpose print program repeatedly Ntimes, and the general-purpose print program transmits the receivedprint data to the printer.
 3. The non-transitory computer readablemedium according to claim 1, wherein, in the first output processing,the support program causes the computer to transfer the print data ofthe one copy acquired in the first acquisition processing to the printerrepeatedly N times.
 4. The non-transitory computer readable mediumaccording to claim 1, wherein, in the first acquisition processing, thesupport program causes the computer to acquire the print data rasterizedone page by one page, and wherein, in the first output processing, whenthe print data of first one copy is output, the support program causesthe computer to output the print data of each page each time each pageis acquired.
 5. The non-transitory computer readable medium according toclaim 1 wherein, in the first output processing, after acquisition ofthe print data of the one copy in the first acquisition processing iscompleted, the support program causes the computer to start to outputthe print data.
 6. A non-transitory computer readable medium that storesa support program executable by a computer included in an informationprocessing device, the support program being corresponding to a printerconnected to the information processing device, in a case where a printinstruction that is output from an application program installed in theinformation processing device and that causes the printer to executeprinting of an image is sent to a general-purpose print programinstalled in advance in an operating system of the informationprocessing device to cause the printer to execute collate printing in ajob based on the print instruction, the collate printing beingprocessing of sequentially printing N copies one copy by one copy,printing of the one copy being printing of the image having a pluralityof pages that is a range of a print target, N being a natural number of2 or greater, the support program causing the computer to execute:second output processing of outputting the print data of the N copiessuch that the print data of the N copies is transmitted from theinformation processing device to the printer as a transmissiondestination, by receiving intermediate print data that is based on theimage having the plurality of pages from the general-purpose printprogram and by transferring the received intermediate print data to thegeneral-purpose print program one copy by one copy over the N copies. 7.The non-transitory computer readable medium according to claim 1,wherein, in a case where the print instruction is sent to thegeneral-purpose print program to cause the printer to execute uncollateprinting in a job based on the print instruction, the uncollate printingbeing processing of printing the image having the plurality of pagesthat is the range of the print target continuously M times one page byone page, M being a natural number of 2 or greater, the support programcauses the computer to execute: uncollate transmission processing ofperforming continuous transmission of continuously transmitting printdata rasterized based on the image having the plurality of pages to theprinter M times one page by one page, and performing the continuoustransmission for all pages.
 8. The non-transitory computer readablemedium according to claim 6, wherein, in a case where the printinstruction is sent to the general-purpose print program to cause theprinter to execute uncollate printing in a job based on the printinstruction, the uncollate printing being processing of printing theimage having the plurality of pages that is the range of the printtarget continuously M times one page by one page, M being a naturalnumber of 2 or greater, the support program causes the computer toexecute: uncollate transmission processing of performing continuoustransmission of continuously transmitting print data rasterized based onthe image having the plurality of pages to the printer M times one pageby one page, and performing the continuous transmission for all pages.9. An information processing device comprising a computer, wherein anoperating system of the information processing device has ageneral-purpose print program installed in advance in the operatingsystem, wherein a support program is corresponding to a printerconnected to the information processing device and an applicationprogram to which a print instruction that causes the printer to print animage via the general-purpose print program is capable of being inputare installed in the information processing device, and wherein, in acase where the print instruction is output from the application programto cause the printer to execute collate printing in a job based on theprint instruction, the collate printing being processing of sequentiallyprinting N copies one copy by one copy, printing of the one copy beingprinting of the image having a plurality of pages that is a range of aprint target, N being a natural number of 2 or greater, the computer,when instructed by the support program, executes: first acquisitionprocessing of acquiring print data of the one copy rasterized based onthe image having the plurality of pages; and first output processing ofoutputting the print data of the plurality of pages acquired in thefirst acquisition processing one copy by one copy over the N copies suchthat the print data is transmitted from the information processingdevice to the printer as a transmission destination.
 10. An informationprocessing device comprising a computer, wherein an operating system ofthe information processing device has a general-purpose print programinstalled in advance in the operating system, wherein a support programis corresponding to a printer connected to the information processingdevice and an application program to which a print instruction thatcauses the printer to print an image via the general-purpose printprogram is capable of being input are installed in the informationprocessing device, and wherein, in a case where the print instruction isoutput from the application program to cause the printer to executecollate printing in a job based on the print instruction, the collateprinting being processing of sequentially printing N copies one copy byone copy, printing of the one copy being printing of the image having aplurality of pages that is a range of a print target, N being a naturalnumber of 2 or greater, the computer, when instructed by the supportprogram, executes: second output processing of outputting the print dataof the N copies such that the print data of the N copies is transmittedfrom the information processing device to the printer as a transmissiondestination, by receiving intermediate print data that is based on theimage having the plurality of pages from the general-purpose printprogram and by transferring the received intermediate print data to thegeneral-purpose print program one copy by one copy over the N copies.11. A printing method of causing a printer to execute printing based onprint data generated in an information process device, the printer beingconnected to the information processing device, an operating system ofthe information processing device having a general-purpose print programinstalled in advance in the operating system, a support programcorresponding to the printer connected to the information processingdevice and an application program to which a print instruction thatcauses the printer to print an image via the general-purpose printprogram is capable of being input being installed the informationprocessing device, in a case where the print instruction is output fromthe application program to cause the printer to execute collate printingin a job based on the print instruction, the collate printing beingprocessing of sequentially printing N copies one copy by one copy,printing of the one copy being printing of the image having a pluralityof pages that is a range of a print target, N being a natural number of2 or greater, the printing method, which is executed by the supportprogram, comprising: acquiring print data of the one copy rasterizedbased on the image having the plurality of pages; and outputting theacquired print data of the plurality of pages one copy by one copy overthe N copies such that the print data is transmitted from theinformation processing device to the printer as a transmissiondestination.
 12. A printing method of causing a printer to executeprinting based on print data generated in an information process device,the printer being connected to the information processing device, anoperating system of the information processing device having ageneral-purpose print program installed in advance in the operatingsystem, a support program corresponding to the printer connected to theinformation processing device and an application program to which aprint instruction that causes the printer to print an image via thegeneral-purpose print program is capable of being input being installedin the information processing device, in a case where the printinstruction is output from the application program to cause the printerto execute collate printing in a job based on the print instruction, thecollate printing being processing of sequentially printing N copies onecopy by one copy, printing of the one copy being printing of the imagehaving a plurality of pages that is a range of a print target, N being anatural number of 2 or greater, the printing method, which is executedby the support program, comprising: outputting the print data of the Ncopies such that the print data of the N copies is transmitted from theinformation processing device to the printer as a transmissiondestination, by receiving intermediate print data that is based on theimage having the plurality of pages from the general-purpose printprogram and by transferring the received intermediate print data to thegeneral-purpose print program one copy by one copy over the N copies.